/*
 * $$Id: ShowForumAction.java,v 1.13 2004/06/18 10:25:26 bel70 Exp $$
 *
 * ***** BEGIN LICENSE BLOCK *****
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License
 * at http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and
 * limitations under the License.
 *
 * The Original Code is jforum forum code.
 *
 * The Initial Developer of the Original Code is the JResearch, Org.
 * Portions created by the Initial Developer are Copyright (C) 2004
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *              Dmitry Belov <bel@jresearch.org>
 *
 * ***** END LICENSE BLOCK ***** */
/*
 * Created on Jul 13, 2003
 *
 */
package com.jred.jforum.actions;


import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.jred.jforum.actions.common.TDDispatchAction;
import com.jred.jforum.beans.forum.Forum;
import com.jred.jforum.exception.SystemException;
import com.jred.jforum.forms.ProcessForumForm;
import com.jred.jforum.service.ForumService;

/**
 * DOCUMENT ME!
 * 
 * @author Bel
 */
public class ShowForumAction extends TDDispatchAction {
	/**
	 * DOCUMENT ME!
	 * 
	 * @param mapping
	 *            DOCUMENT ME!
	 * @param form
	 *            DOCUMENT ME!
	 * @param request
	 *            DOCUMENT ME!
	 * @param response
	 *            DOCUMENT ME!
	 * 
	 * @return DOCUMENT ME!
	 */
	public ActionForward main(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws SystemException {
		ForumService forumService = (ForumService) getServiceFacade("forumService");
		ProcessForumForm pfForm = (ProcessForumForm) form;
		Forum currForum = forumService.getForumInfo(new Integer(pfForm.getFid()).intValue());
		request.setAttribute("JFORUM_CURR_FORUM", currForum);
		List list = null;
		List tagList = null;
		Map map = new HashMap();
		map.put("forumid", pfForm.getFid());
		map.put("tagid", pfForm.getTagid());
		if(pfForm.getTagid() != null){
			list = forumService.getTopicsByTagid(map);
		}else{
			list = forumService.getTopicsByForumid(new Integer(pfForm.getFid()).intValue());
		}
		tagList = forumService.getForumTags(new Integer(pfForm.getFid()).intValue());
		request.setAttribute("JFORUM_TAGS",tagList);
		request.setAttribute("JFORUM_TOPICES",list);
		request.setAttribute("JFORUM_NUM_TOPICES",list.size());
		return (mapping.findForward("showForum"));
	}
}
